/* 通用方法和一些配置 */

// 请求根路径
axios.defaults.baseURL = 'http://www.itcbc.com:8000'

// 统一设置身份认证
// axios.defaults.headers.common['Authorization'] = localStorage.getItem('myToken')

// 添加请求拦截器
axios.interceptors.request.use(config => {
  // 身份认证 ：url中不包含字符串api都要认证身份
  if (config.url.indexOf('/api/') === -1) {
    config.headers.Authorization = localStorage.getItem('myToken')
  }
  return config
}, error => {
  return Promise.reject(error)
})

// 添加响应拦截器，进行登录拦截，处理错误信息提示
axios.interceptors.response.use(response => {
  // 用户已存在，弹出警告框
  if (response.data.code === 1) {
    alert(response.data.message)
  }
  // 返回响应数据
  return response
}, error => {
  // 没有登录或者token出问题
  if (error && error.response && error.response.data && error.response.data.message === '身份认证失败') {
    // 跳转到登录页，销毁无效token
    if (location.href.indexOf('index.html') !== -1) {
      // index页面身份认证失败，跳转到登录页
      location.href = './login.html'
    } else {
      // 其他页面身份认证失败，父页面跳转到登录页
      window.parent.location.href = './login.html'
    }
    localStorage.removeItem('myToken')
  } else {
    // 普通的报错
    alert(error.response.data.message)
  }
  return Promise.reject(error)
})
